def combine(options, k):
    """
    options里面选k个，返回所有组合
    """
    if k > len(options): return []
    if k == 1: return [[i] for i in options]
    first, *rest = options
    ans = combine(rest, k)  # 不包含第一个
    part = combine(rest, k-1)  # 包含第一个，再从后面取k-1个
    for item in part:
        ans.append([first, *item])
    return ans
